package com.hw.backapi.service;

import com.hw.model.common.PageInfo;
import com.hw.model.dto.overview.DetailedQueryDTO;
import com.hw.model.dto.overview.PatientDetailedQueryDTO;
import com.hw.model.entity.OssPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hw.model.vo.overview.PatientDataDetailVO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 *  oss服务类
 * </p>
 *
 * @author 作者
 * @since 2022-11-24
 */
public interface IOssService extends IService<OssPO> {
    /**
     * @descrition 患者明细
     * @author lipeng
     * @date 2023/3/8
     * @param patientDetailedQueryDTO
     * @return com.hw.model.common.PageInfo<com.hw.model.vo.overview.PatientDataDetailVO>
     */
    PageInfo<PatientDataDetailVO> patientDetailed(PatientDetailedQueryDTO patientDetailedQueryDTO);

    /**
     * @descrition oss文件导出
     * @author lipeng
     * @date 2023/3/8
     * @param ossId
     * @param response
     * @return void
     */
    void exportOss(Long ossId,Long exportType, HttpServletResponse response);

    /**
     * @descrition
     * @author lipeng
     * @date 2023/3/12
     * @param type 默认 csv 1 video
     * @param key
     * @param diagKey
     * @return java.lang.String
     */
    String getOssFileName(Integer type,String key,String diagKey);

    /**
     * @descrition 批量导出文件
     * @author lipeng
     * @date 2023/3/8
     * @param patientDetailedQueryDTO
     * @param request
     * @param response
     * @return void
     */
    void batchDownload(PatientDetailedQueryDTO patientDetailedQueryDTO, HttpServletRequest request, HttpServletResponse response);

    /**
     * @descrition 导出患者明细文件
     * @author lipeng
     * @date 2023/3/8
     * @param patientDetailedQueryDTO
     * @return void
     */
    void exportDetailed(PatientDetailedQueryDTO patientDetailedQueryDTO);
}
